const WebSocket = require('ws')

const wss = new WebSocket.Server({
  port: '9000'
})

// 监听客户端连接事件
wss.on('connection', (ws) => {
  console.log('有新的客户端连接');

  // 监听客户端发送的消息事件
  ws.on('message', (message) => {
    console.log(`收到客户端消息: ${message}`);

    // 向客户端发送消息
    ws.send(`服务器已收到你的消息: ${message}`);
  });

  // 主动向客户端发送消息
  console.log(ws.readyState,'vv', WebSocket.OPEN);
  
  if (ws.readyState === WebSocket.OPEN) {
    console.log('send??');
    
    const message = `这是服务器主动发送的消息，当前时间：${new Date().toLocaleTimeString()}`;
    ws.send(message);
  }

  // 监听客户端断开连接事件
  ws.on('close', () => {
    console.log('客户端已断开连接');
  });

  // 处理客户端连接
  ws.on('error', (error) => {
    console.error('与客户端的连接出现错误:', error);
    // 可以关闭与该客户端的连接
    ws.close();
  });

});

wss.on('error', (error) => {
  console.error('WebSocket 服务器出现错误:', error);
  // 可以在这里进行一些错误处理操作，如记录日志、尝试重启服务器等
});


console.log('WebSocket 服务器已启动，监听端口 9000');